﻿#region usings
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.ComponentModel;
#endregion

namespace InsuranceAdjuster.Models {
    public class Vehicle : INotifyPropertyChanged {
        private int _year;
        public int Year {
            get { return _year; }
            set {
                if (value != _year) {
                    _year = value;
                    NotifyPropertyChanged("Year");
                }
            }
        }

        private string _make;
        public string Make {
            get { return _make; }
            set {
                if (value != _make) {
                    _make = value;
                    NotifyPropertyChanged("Make");
                }
            }
        }

        private string _model;
        public string Model {
            get { return _model; }
            set {
                if (value != _model) {
                    _model = value;
                    NotifyPropertyChanged("Model");
                }
            }
        }

        private string _color;
        public string Color {
            get { return _color; }
            set {
                if (value != _color) {
                    _color = value;
                    NotifyPropertyChanged("Color");
                }
            }
        }

        private string _vin;
        public string VIN {
            get { return _vin; }
            set {
                if (value != _vin) {
                    _vin = value;
                    NotifyPropertyChanged("VIN");
                }
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        protected void NotifyPropertyChanged(string propertyName) {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

    }
}
